From: Keir Fraser Date: Thu, 17 Dec 2009 06:27:56 +0000 (+0000) Subject: Request re-coalescing for qcow disks. qcow driver had the habit of breaking each X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12855 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=5db8a5259c8d4bba3d99761785f2444c6b3dd5ef;p=xen.git Request re-coalescing for qcow disks. qcow driver had the habit of breaking each (4K) block read into 8 (512 bytes) sector reads. This is inefficient, but also prevents sharing detector from working, as it is based on page-size reads. Signed-off-by: Grzegorz Milos --- diff --git a/tools/blktap2/drivers/block-qcow.c b/tools/blktap2/drivers/block-qcow.c index e0590ae59b..13d6c324ea 100644 --- a/tools/blktap2/drivers/block-qcow.c +++ b/tools/blktap2/drivers/block-qcow.c @@ -1035,6 +1035,17 @@ void tdqcow_queue_read(td_driver_t *driver, td_request_t treq) } if(!cluster_offset) { + int i; + /* Forward entire request if possible. */ + for(i=0; i